#ifndef __VIDEO__CAPTURE_FACTORY__H__
#define __VIDEO__CAPTURE_FACTORY__H__

#include <memory>
#include "VideoCapture.h"
#ifdef __ANDROID__
#include "jni_utils.h"
#endif

namespace simple_renderer{

class VideoCaptureFactory{
public:
    VideoCaptureFactory(){};
    virtual ~VideoCaptureFactory(){};

#ifdef __ANDROID__
    virtual std::unique_ptr<VideoCapture> CreateVideoCapture() = 0;
#endif
    virtual int GetNumberOfCameras() = 0;
    virtual std::string GetDeviceName(std::string id) = 0;
    virtual int GetDeviceOrientation(std::string id) = 0;
    virtual std::string GetCapabilities(std::string id) = 0;
};

}

#endif